home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _CFACF1BC9A3D4892832A8ACED31FEE7F < prev    next >
Encoding:
Text File  |  2004-01-06  |  910 b   |  31 lines

  1.  
  2.       #include "../CGVPMacro.csi"
  3.  
  4.  
  5.       VertAttributes { TANG_3X3 }
  6.       MainInput { VIEWPROJ_MATRIX, uniform float3 LightPos, ATTEN }
  7.       DeclarationsScript
  8.       {
  9.         IN_T0_C0_TANG
  10.         OUT_T0_T1_T2_C0_C1
  11.       }
  12.       PositionScript = PosCommon
  13.       CoreScript
  14.       {
  15.         OUT.Tex0.xy = IN.TexCoord0.xy;
  16.         OUT.Tex1.xy = IN.TexCoord0.xy;
  17.  
  18.         TANG_MATR
  19.  
  20.         // store normalized light vector
  21.         float3 lightVec = mul(objToTangentSpace, LightPos.xyz - vPos.xyz);
  22.         
  23.         float3 vDist = PROC_ATTENPIX;
  24.         // transform light vector from object space to tangent space and pass it as a tex coords
  25.         OUT.Tex2.xyz = vDist;
  26.         OUT.Color.w = vDist.z;
  27.         
  28.         float fDirect = (AttenInfo.z - AttenInfo.y) * AttenInfo.w;
  29.         OUT.Color1.xyz = AttenInfo.y * normalize(lightVec) * fDirect.x + AttenInfo.y;
  30.       }
  31.